﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

namespace RTracker.Areas.Recruitment.Models.VacancyExpirence
{
    /// <summary>
    /// Class for VacancyExpirence, used to get and set values of VacancyExpirence properties.
    /// </summary>
    public class CVacancyExpirence
    {
        int m_nVacancyExpirenceId;
        int m_nClientId;
        int m_nOrganizationId;
        String m_strVacancyExpirenceName;
        String m_strVacancyExpirenceDesc;
        int m_nMinExpirenceYears;
        int m_nMinExpirenceMonths;
        int m_nMaxExpirenceYears;
        int m_nMaxExpirenceMonths;
        Boolean m_bIsSoftLocked;
        int m_nSoftLockedBy;
        DateTime? m_dtSoftLockTimestamp;
        Boolean m_bIsHardLocked;
        int m_nHardLockedBy;
        DateTime? m_dtHardLockTimestamp;
        DateTime? m_dtCreateTimestamp;
        int m_nCreatedBy;
        DateTime? m_dtModifiedTimestamp;
        int m_nModifiedBy;
        Boolean m_bDeleteFlag;
        String m_strVacancyExpirenceIds;
        int m_nPageNumber;
        int m_nRowSize;
        String m_strSortOn;
        String m_strSortType;
        String m_strSearch;
        String m_strSearchOn;
        string m_strSoftlockedByName;
        string m_strHardlockedByName;
        string m_strCreatedByName;
        string m_strModifiedByName;

        /// <summary>
        /// Constructor of the class.
        /// </summary> 
        /// <date_created>7/1/2014</date_created>
        public CVacancyExpirence()
        {
            m_nVacancyExpirenceId = 0;
            m_nClientId = 0;
            m_nOrganizationId = 0;
            m_strVacancyExpirenceName = "";
            m_strVacancyExpirenceDesc = "";
            m_nMinExpirenceYears = 0;
            m_nMinExpirenceMonths = 0;
            m_nMaxExpirenceYears = 0;
            m_nMaxExpirenceMonths = 0;
            m_bIsSoftLocked = false;
            m_nSoftLockedBy = 0;
            m_dtSoftLockTimestamp = null;
            m_bIsHardLocked = false;
            m_nHardLockedBy = 0;
            m_dtHardLockTimestamp = null;
            m_dtCreateTimestamp = null;
            m_nCreatedBy = 0;
            m_dtModifiedTimestamp = null;
            m_nModifiedBy = 0;
            m_bDeleteFlag = false;
            m_strVacancyExpirenceIds = "";
            m_nPageNumber = 0;
            m_nRowSize = 0;
            m_strSortOn = "";
            m_strSortType = "";
            m_strSearch = "";
            m_strSearchOn = "";
            m_strHardlockedByName = "";
            m_strSoftlockedByName = "";
            m_strCreatedByName = "";
            m_strModifiedByName = "";
        }

        /// <summary>
        /// Constructor of the class.
        /// </summary> 
        /// <date_created>7/1/2014</date_created>
        public CVacancyExpirence(int nVacancyExpirenceId, int nClientId, int nOrganizationId, String strVacancyExpirenceName, String strVacancyExpirenceDesc, int nMinExpirenceYears, int nMinExpirenceMonths
            , int nMaxExpirenceYears, int nMaxExpirenceMonths, Boolean bIsSoftLocked, int nSoftLockedBy, DateTime? dtSoftLockTimestamp
            , Boolean bIsHardLocked, int nHardLockedBy, DateTime? dtHardLockTimestamp, DateTime? dtCreateTimestamp, int nCreatedBy
            , DateTime? dtModifiedTimestamp, int nModifiedBy, Boolean bDeleteFlag, String strVacancyExpirenceIds,int nPageNumber, int nRowSize, String strSortOn, String strSortType, String strSearch, String strSearchOn, string strSoftlockedByName, string strHardlockedByName, string strCreatedByName, string strModifiedByName)
        {
            m_nVacancyExpirenceId = nVacancyExpirenceId;
            m_nClientId = nClientId;
            m_nOrganizationId = nOrganizationId;
            m_strVacancyExpirenceName = strVacancyExpirenceName;
            m_strVacancyExpirenceDesc = strVacancyExpirenceDesc;
            m_nMinExpirenceYears = nMinExpirenceYears;
            m_nMinExpirenceMonths = nMinExpirenceMonths;
            m_nMaxExpirenceYears = nMaxExpirenceYears;
            m_nMaxExpirenceMonths = nMaxExpirenceMonths;
            m_bIsSoftLocked = bIsSoftLocked;
            m_nSoftLockedBy = nSoftLockedBy;
            m_dtSoftLockTimestamp = dtSoftLockTimestamp;
            m_bIsHardLocked = bIsHardLocked;
            m_nHardLockedBy = nHardLockedBy;
            m_dtHardLockTimestamp = dtHardLockTimestamp;
            m_dtCreateTimestamp = dtCreateTimestamp;
            m_nCreatedBy = nCreatedBy;
            m_dtModifiedTimestamp = dtModifiedTimestamp;
            m_nModifiedBy = nModifiedBy;
            m_bDeleteFlag = bDeleteFlag;
            m_strVacancyExpirenceIds = strVacancyExpirenceIds;
            m_nPageNumber = nPageNumber;
            m_nRowSize = nRowSize;
            m_strSortOn = strSortOn;
            m_strSortType = strSortType;
            m_strSearch = strSearch;
            m_strSearchOn = strSearchOn;
            m_strSoftlockedByName = strSoftlockedByName;
            m_strHardlockedByName = strHardlockedByName;
            m_strCreatedByName = strCreatedByName;
            m_strModifiedByName = strModifiedByName;
        }

        /// <summary>
        /// Used to store VacancyExpirenceId
        /// </summary>
        public int VacancyExpirenceId
        {
            get { return m_nVacancyExpirenceId; }
            set { m_nVacancyExpirenceId = value; }
        }
        /// <summary>
        /// Used to store Client Id
        /// </summary>
        // Display name of this property
        [DisplayName("Client")]
        public int ClientId
        {
            get { return m_nClientId; }
            set { m_nClientId = value; }
        }
        /// <summary>
        /// Used to store organization id
        /// </summary>
        // Display name of this property
        [DisplayName("Organization")]
        public int OrganizationId
        {
            get { return m_nOrganizationId; }
            set { m_nOrganizationId = value; }
        }
        /// <summary>
        /// Used to store VacancyExpirenceName
        /// </summary>
        // Display name of this property
        [DisplayName("Name")]
        public String VacancyExpirenceName
        {
            get { return m_strVacancyExpirenceName; }
            set { m_strVacancyExpirenceName = value; }
        }
        /// <summary>
        /// Used to store VacancyExpirenceDesc
        /// </summary>
        // Display name of this property
        [DisplayName("Description")]
        public String VacancyExpirenceDesc
        {
            get { return m_strVacancyExpirenceDesc; }
            set { m_strVacancyExpirenceDesc = value; }
        }
        /// <summary>
        /// Used to store MinExpirenceYears
        /// </summary>
        // Display name of this property
        [DisplayName("Min Experience")]
        public int MinExpirenceYears
        {
            get { return m_nMinExpirenceYears; }
            set { m_nMinExpirenceYears = value; }
        }
        /// <summary>
        /// Used to store MinExpirenceMonths
        /// </summary>
        // Display name of this property
        [DisplayName("Min Experience")]
        public int MinExpirenceMonths
        {
            get { return m_nMinExpirenceMonths; }
            set { m_nMinExpirenceMonths = value; }
        }
        /// <summary>
        /// Used to store MaxExpirenceYears
        /// </summary>
        // Display name of this property
        [DisplayName("Max Experience")]
        public int MaxExpirenceYears
        {
            get { return m_nMaxExpirenceYears; }
            set { m_nMaxExpirenceYears = value; }
        }
        /// <summary>
        /// Used to store MaxExpirenceMonths
        /// </summary>
        // Display name of this property
        [DisplayName("Max Experience")]
        public int MaxExpirenceMonths
        {
            get { return m_nMaxExpirenceMonths; }
            set { m_nMaxExpirenceMonths = value; }
        }
        /// <summary>
        /// Used to store IsSoftLocked
        /// </summary>
        public Boolean IsSoftLocked
        {
            get { return m_bIsSoftLocked; }
            set { m_bIsSoftLocked = value; }
        }
        /// <summary>
        /// Used to store SoftLockedBy
        /// </summary>
        // Display name of this property
        [DisplayName("Viewed By")]
        public int SoftLockedBy
        {
            get { return m_nSoftLockedBy; }
            set { m_nSoftLockedBy = value; }
        }
        /// <summary>
        /// Used to store SoftLockTimestamp
        /// </summary>
        public DateTime? SoftLockTimestamp
        {
            get { return m_dtSoftLockTimestamp; }
            set { m_dtSoftLockTimestamp = value; }
        }
        /// <summary>
        /// Used to store IsHardLocked
        /// </summary>
        public Boolean IsHardLocked
        {
            get { return m_bIsHardLocked; }
            set { m_bIsHardLocked = value; }
        }
        /// <summary>
        /// Used to store HardLockedBy
        /// </summary>
        // Display name of this property
        [DisplayName("Locked By")]
        public int HardLockedBy
        {
            get { return m_nHardLockedBy; }
            set { m_nHardLockedBy = value; }
        }
        /// <summary>
        /// Used to store HardLockTimestamp
        /// </summary>
        public DateTime? HardLockTimestamp
        {
            get { return m_dtHardLockTimestamp; }
            set { m_dtHardLockTimestamp = value; }
        }
        /// <summary>
        /// Used to store CreateTimestamp
        /// </summary>
        // Display name of this property
        [DisplayName("Created On")]
        public DateTime? CreateTimestamp
        {
            get { return m_dtCreateTimestamp; }
            set { m_dtCreateTimestamp = value; }
        }
        /// <summary>
        /// Used to store CreatedBy
        /// </summary>
        // Display name of this property
        [DisplayName("Created By")]
        public int CreatedBy
        {
            get { return m_nCreatedBy; }
            set { m_nCreatedBy = value; }
        }
        /// <summary>
        /// Used to store ModifiedTimestamp
        /// </summary>
        // Display name of this property
        [DisplayName("Modified On")]
        public DateTime? ModifiedTimestamp
        {
            get { return m_dtModifiedTimestamp; }
            set { m_dtModifiedTimestamp = value; }
        }
        /// <summary>
        /// Used to store ModifiedBy
        /// </summary>
        // Display name of this property
        [DisplayName("Modified By")]
        public int ModifiedBy
        {
            get { return m_nModifiedBy; }
            set { m_nModifiedBy = value; }
        }
        /// <summary>
        /// Used to store DeleteFlag
        /// </summary>
        public Boolean DeleteFlag
        {
            get { return m_bDeleteFlag; }
            set { m_bDeleteFlag = value; }
        }
        /// <summary>
        /// Used to store VacancyExpirenceIds
        /// </summary>
        public String VacancyExpirenceIds
        {
            get { return m_strVacancyExpirenceIds; }
            set { m_strVacancyExpirenceIds = value; }
        }

        /// <summary>
        /// Used to store PageNumber
        /// </summary>
        public int PageNumber
        {
            get { return m_nPageNumber; }
            set { m_nPageNumber = value; }
        }
        /// <summary>
        /// Used to store RowSize
        /// </summary>
        public int RowSize
        {
            get { return m_nRowSize; }
            set { m_nRowSize = value; }
        }
        /// <summary>
        /// Used to store SortOn
        /// </summary>
        public String SortOn
        {
            get { return m_strSortOn; }
            set { m_strSortOn = value; }
        }
        /// <summary>
        /// Used to store SortType
        /// </summary>
        public String SortType
        {
            get { return m_strSortType; }
            set { m_strSortType = value; }
        }
        /// <summary>
        /// Used to store Search
        /// </summary>
        public String Search
        {
            get { return m_strSearch; }
            set { m_strSearch = value; }
        }
        /// <summary>
        /// Used to store SearchOn
        /// </summary>
        public String SearchOn
        {
            get { return m_strSearchOn; }
            set { m_strSearchOn = value; }
        }

        /// <summary>
        /// Used to store username who owns the softlock.
        /// </summary>
        public string SoftLockedByName
        {
            get { return m_strSoftlockedByName; }
            set { m_strSoftlockedByName = value; }
        }
        /// <summary>
        /// Used to store username who owns the hardlock.
        /// </summary>
        public string HardLockedByName
        {
            get { return m_strHardlockedByName; }
            set { m_strHardlockedByName = value; }
        }
        /// <summary>
        /// Used to store CreatedBy Name
        /// </summary>
        // Display name of this property
        [DisplayName("Created By")]
        public string CreatedByName
        {

            get { return m_strCreatedByName; }
            set { m_strCreatedByName = value; }
        }
        /// <summary>
        /// Used to store ModifiedBy Name
        /// </summary>
        // Display name of this property
        [DisplayName("Modified By")]
        public string ModifiedByName
        {

            get { return m_strModifiedByName; }
            set { m_strModifiedByName = value; }
        }
    }

}